Kubernetes 是一個自動化部署、管理微服務 (microservices) 的系統,其主要目的在於解決手動管理容器(containers) 的繁瑣程序,希望達成自動化管理容器。
舉個簡易例子,來對應到 Kubernetes 的使用情境: 想像一下,A工程師負責維運的元件極其重要,直接面對客戶端,故若該元件crash down,將致使上千損失,此時 Kubernetes 的 ReplicaSet 則發揮其作用; 與此同時,若此元件要進行版本更新,而又不希望在更新過程中導致使用者得到 404 Error,則 RollingUpdate 在此刻派上用場。
當然以上小小範例還不足以概括 Kubernetes 的精妙之處,但藉由 Kubernetes,如同其官網文檔所言,其特點概述如下:
具上述優勢,Kubernetes 成為管理容器為人所知的技術,可以發現在許多開源專案上與 Kubernetes 有所關聯,這也是為何以此為主題作為第一次參賽的文章了。
首先,要實際操作 Kubernetes,必須先準備好環境,安裝細節詳見官網教學,這邊不多贅述,以下列出兩種方式可以在單機環境中模擬 Kubernetes 操作,也方便後續實作。
# Start cluster
minikube start
# Check status
minikube status
# 查詢 minikube 對外的 ip
minikube ip
## 透過 minikube dashboard 查看 Cluster 狀況
minikube dashboard
# End
minikube stop
# 刪除 kind cluster
kind delete cluster --name clusterName
# 建立 cluster
kind create cluster --name clusterName
# 列出現有 clusters
kind get clusters
# 刪除
kind delete cluster --name clusterName
第一天就壓線了:)
There is only one success - to be able to spend your life in your own way.
共勉之
文章若有什麼需要改進的地方,請不吝賜教